package com.css.zfzx.sjcj.modules.yhdisaster.service;

import com.alibaba.fastjson.JSONObject;
import com.css.bpm.platform.sys.dict.repository.entity.DictItemEntity;
import com.css.zfzx.sjcj.modules.yhdisaster.params.ExportDisasterEvaluateParams;
import com.css.zfzx.sjcj.modules.yhdisaster.repository.entity.YhDisasterEntity;
import com.css.zfzx.sjcj.modules.yhdisaster.repository.entity.YhDisasterEvaluateVO;
import com.css.zfzx.sjcj.modules.yhdisaster.viewobjects.ExcelDataVo;
import com.css.zfzx.sjcj.modules.yhdisaster.viewobjects.RpheqVo;
import com.css.zfzx.sjcj.modules.yhdisaster.viewobjects.YhDisasterQueryParams;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author lxg
 * @date 2020-11-10
 */

public interface YhDisasterService {

    public JSONObject queryYhDisasters(YhDisasterQueryParams queryParams, int curPage, int pageSize,String type,String sort,String order);

    public YhDisasterEntity getYhDisaster(String id);
    public YhDisasterEntity getYhDisaster(String id,String province);

    public YhDisasterEntity saveYhDisaster(YhDisasterEntity yhDisaster,String type);

    public YhDisasterEntity updateYhDisaster(YhDisasterEntity yhDisaster);

    public void deleteYhDisasters(List<String> ids);

    List<DictItemEntity> getValidDictItemsByDictCode(String dictCode);

    String exportExcel(MultipartFile file, HttpServletResponse response);

    void submitYhDisaster(String ids);
    void submitYhDisaster(List<YhDisasterEntity> disasterEntities);

    void exportFile(YhDisasterQueryParams queryParams, String type,HttpServletResponse response);

    void assessmentInfo(String type,YhDisasterQueryParams queryParams);

    void autoAssessment(String ids);
    void autoAssessment(YhDisasterEvaluateVO vo);
    Map<String,String> evaluateRpheq(RpheqVo rpheqVo);

    void exportDisasterEvaluation(ExportDisasterEvaluateParams params, HttpServletResponse response);

    public void exportEvaluateRpheqResult(RpheqVo rpheqVo, HttpServletResponse response);

    public List<ExcelDataVo> searchEvaluateRpheqResult(RpheqVo rpheqVo);
}
